using Microsoft.Expression.Media;
using System;
using System.Windows;
using System.Windows.Media;
namespace Microsoft.Expression.Shapes
{
	public sealed class RegularPolygon : PrimitiveShape, IGeometrySourceParameters, IPolygonGeometrySourceParameters
	{
		public static readonly DependencyProperty PointCountProperty = DependencyProperty.Register("PointCount", typeof(double), typeof(RegularPolygon), new DrawingPropertyMetadata(6.0, DrawingPropertyMetadataOptions.AffectsRender));
		public static readonly DependencyProperty InnerRadiusProperty = DependencyProperty.Register("InnerRadius", typeof(double), typeof(RegularPolygon), new DrawingPropertyMetadata(1.0, DrawingPropertyMetadataOptions.AffectsRender));
		public double PointCount
		{
			get
			{
				return (double)base.GetValue(RegularPolygon.PointCountProperty);
			}
			set
			{
				base.SetValue(RegularPolygon.PointCountProperty, value);
			}
		}
		public double InnerRadius
		{
			get
			{
				return (double)base.GetValue(RegularPolygon.InnerRadiusProperty);
			}
			set
			{
				base.SetValue(RegularPolygon.InnerRadiusProperty, value);
			}
		}
		Stretch IGeometrySourceParameters.Stretch
		{
			get
			{
				return base.get_Stretch();
			}
		}
		Brush IGeometrySourceParameters.Stroke
		{
			get
			{
				return base.get_Stroke();
			}
		}
		double IGeometrySourceParameters.StrokeThickness
		{
			get
			{
				return base.get_StrokeThickness();
			}
		}
		protected override IGeometrySource CreateGeometrySource()
		{
			return new PolygonGeometrySource();
		}
	}
}
